In a solid-state drive (SSD) device, valid data on the media is moved to another location on the media by a process referred to as recycling. Recycling is typically done as part of either garbage collection or wear leveling. Garbage collection is performed to reclaim space taken up by stale data. Wear leveling is performed to ensure some non-volatile memory (NVM) blocks do not wear out faster than other NVM blocks due to excessive program and erase cycles. In a system where data is written in R-blocks (a combination of NVM blocks providing cross-die redundancy for higher-level error correction), the conventional recycling process recycles each R-block in its entirety.
It would be desirable to have a method and/or apparatus for implementing partial R-block recycling.